#ifndef COLLISIONS_H
#define COLLISIONS_H

#include "aabb.h"
#include "boundingsphere.h"

/*!
 *  \brief Classe servant à stocker les méthodes de détection de collision
 */

class Collisions
{
    public:

    Collisions();

    /*!
     *  \brief Détecte une collision entre 2 AABB
     *
     *  \param AABB a1 Première boite
     *  \param AABB a2 Deuxieme boite englobante
     *  \return int Si 1, alors il y a collision, sinon retourne 0
     */

    static int AABBtoAABB(AABB *a1, AABB * a2);

    /*!
     *  \brief Détecte une collision entre 1 AABB et une sphère englobante
     *
     *  \param AABB a1 Première boite
     *  \param BoundingSphere b2 Deuxieme sphere englobante
     *  \return int Si 1, alors il y a collision, sinon retourne 0
     */

    static int AABBtoBSphere(AABB * a1 , BoundingSphere * b2);

    /*!
     *  \brief Détecte une collision entre 2 AABB
     *
     *  \param AABB a1 Première boite
     *  \param AABB a2 Deuxieme boite englobante
     *  \return int Si 1, alors il y a collision, sinon retourne 0
     */

    static int BSphereToBSphere(BoundingSphere * b1, BoundingSphere * b2);

};

#endif // COLLISIONS_H
